Why am I passionate about this?

Some programmers learn through online articles, videos, and blog posts. Not me. I need a throughline—a consistent, expert distillation of the material to take me from where I am to where I want to be. I am not good at patching together information from disparate sources. I need a great book. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.


I wrote

Learn to Code by Solving Problems: A Python Programming Primer

By Daniel Zingaro,

Book cover of Learn to Code by Solving Problems: A Python Programming Primer

What is my book about?

You want your slippers to be fuzzy – not your grasp of Python programming. Build a rock solid Python programming…

Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

The books I picked & why

Book cover of Mission Python: Code a Space Adventure Game!

Daniel Zingaro Why did I love this book?

Learning how to program in Python and make a video game at the same time. Hmm – sounds like learning your native language while writing a novel. That could be messy. Could be – but not with this book. McManus knows video games. McManus knows how to teach. I love the idea of teaching a programming language through one extended context. If, like me, you’re fascinated by retro video games, get this book and let that fascination propel you through your beginning programming journey. Bonus feature: commitment to the bit; everything is in space!

By Sean McManus,

Why should I read it?

1 author picked Mission Python as one of their favorite books, and they share why you should read it. This book is for kids age 10, 11, 12, and 13.

What is this book about?

Launch into coding with Mission: Python, a space-themed guide to building a complete computer game in Python. As you work through the book, you'll build exercises and mini-projects, like making a spacewalk simulator and creating an astronaut's safety checklist that will put your new Python skills to the test. Before you know it, you'll have a working, awesome game to stump your friends with (and some nifty coding skills, too!). You can follow this book using a Raspberry Pi or a Microsoft Windows PC, and the 3D graphics and sound effects you need are provided as a download.


Book cover of Python for Everybody: Exploring Data in Python 3

Daniel Zingaro Why did I love this book?

Learning to program is hard. We need teachers who remember this, who are patient, who support the learning process, who not only know how to teach but also know how to learn from their teaching. Severance is all of these things. I like the breezy but precise writing, sections on debugging, glossaries and exercises in each chapter, and discussion of common learner errors. Bonus feature: regular expressions.

By Charles R. Severance,

Why should I read it?

1 author picked Python for Everybody as one of their favorite books, and they share why you should read it.

What is this book about?

Python for Everybody is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet.

Python is an easy to use and easy to learn programming language that is freely available on Macintosh, Windows, or Linux computers. So once you learn Python you can use it for the rest of your career without needing to purchase any software.

This book uses the Python 3 language. The earlier Python 2 version of this book…


Book cover of Hello World! A Complete Python-Based Computer Programming Tutorial with Fun Illustrations, Examples, and Hand-On Exercises.

Daniel Zingaro Why did I love this book?

I’m a kid at heart. (My favourite book genre is middle grade fiction.) Don’t be put off by a book with "kids" in the subtitle. And what an ebullient book this is! I unapologetically laugh at this book’s humour. I like the short chapters with measurable progress in each one; I like the easy GUI programming to get us started; I like the computational study of probability and randomness. I could quibble over the order that some topics are introduced, and some of the forward references… but, you know what? I won’t. This author duo gets it. Bonus feature: that sneaky way of introducing mutability in Chapter 2. Bonus feature #2: SkiFree.

By Warren Sande, Carter Sande,

Why should I read it?

1 author picked Hello World! A Complete Python-Based Computer Programming Tutorial with Fun Illustrations, Examples, and Hand-On Exercises. as one of their favorite books, and they share why you should read it.

What is this book about?

Hello World! Third Edition is a fun, easy-to-use guide with copious illustrations and engaging examples. It takes the reader on a playful tour of basic programming concepts and then puts those concepts together to make fun and useful programs. It uses Python, a programming language that is one of the easiest to read, write, and understand. Like the previous two editions, Hello World! Third Edition is not just for kids. While the tone is light and engaging, it doesn't "talk down" to the reader, and beginners of any age will love its readability and sense of humor. Written by Warren…


Book cover of Get Programming: Learn to Code with Python

Daniel Zingaro Why did I love this book?

Bell is an expert teacher. I like the order of topics; the breakdown of topics into units; the short, targeted lessons in each unit; the varied capstone projects to tie things together; the explicit learning goals; the structured approach to solving problems. The first bit of code that you’ll write is on page 30. Your first complete program is on page 60. What’s up with those first 59 pages, then? Motivation, comparisons to daily life, setup, and building blocks. Things that other authors tend to skip but that may be important for some learners. Bonus feature: “I try not to forget what it’s like to start learning to program from scratch, no matter how many times I teach the course.”

By Ana Bell,

Why should I read it?

1 author picked Get Programming as one of their favorite books, and they share why you should read it.

What is this book about?

Whether readers want to become a professional software developer,
create web sites, analyze scientific data, or just automate tedious
business tasks, learning to program is the first step. Fortunately,
learning to program doesn't have to be difficult.


Get Programming: Learn to code with Python introduces you to the
world of writing computer programs without drowning you in
confusing jargon or theory that make getting started harder than it
should be. By working through the examples and exercises in 39 bitesize
lessons, you'll learn how to code step-by-step by creating your
own programs with the beginner-friendly Python language! With
crystal-clear illustrations,…


Book cover of Python for Everyone

Daniel Zingaro Why did I love this book?

I used this book for several years starting in 2013 when the first edition came out. It absolutely holds up today. Learning the Python language (the syntax) is one thing. Learning how to design programs using this syntax is another. We need both but, unfortunately, many books forgo the latter for the former. Not this book! I like the Problem Solving and Worked Example sections: they help learners apply a disciplined, step-by-step strategy to programming projects. There are multiple, varied contexts here as well, which helps capture a broader base of learners. Bonus feature: the Computing & Society boxes.

By Cay S. Horstmann, Rance D. Necaise,

Why should I read it?

1 author picked Python for Everyone as one of their favorite books, and they share why you should read it.

What is this book about?

Python for Everyone, 3rd Edition is an introduction to programming designed to serve a wide range of student interests and abilities, focused on the essentials, and on effective learning. It is suitable for a first course in programming for computer scientists, engineers, and students in other disciplines. This text requires no prior programming experience and only a modest amount of high school algebra. Objects are used where appropriate in early chapters and students start designing and implementing their own classes in Chapter 9. New to this edition are examples and exercises that focus on various aspects of data science.


Explore my book 😀

Learn to Code by Solving Problems: A Python Programming Primer

By Daniel Zingaro,

Book cover of Learn to Code by Solving Problems: A Python Programming Primer

What is my book about?

You want your slippers to be fuzzy – not your grasp of Python programming. Build a rock solid Python programming foundation from an author who has built their career studying how students learn. Solve problems all the way through. Check your progress with Test Your Understanding questions. Practice solving new problems with full sample solutions. Wanna master Python power features like lists, dictionaries, and sets? Wanna know how to write code that’s fast? Wanna develop the skills that will help you become not only a Python expert but an expert in whatever programming language you want to learn next? It’s all here. Let’s roll!

5 book lists we think you will like!

Interested in python, computer programming, and rock music?

Python 30 books
Rock Music 243 books